PROGRAM lectura;

USES sysutils; {proporciona la funcion TRIM }

VAR
   ficheroOperaciones : TEXT;
   linea              : STRING;
   operacion          : STRING;
   numero             : STRING;
   operador           : STRING;


BEGIN
  
   {proceso del fichero operaciones.txt }

   {$i-} { Desactiva la comprobacion de errores de entrada/salida}
   Assign(ficheroOperaciones, 'operaciones.txt');
   Reset(ficheroOperaciones);
   {$i+} { Activa la comprobacion de errores de entrada/salida}
   IF (IoResult <> 0) THEN BEGIN
      writeln('*** lectura.pas: error al acceder al fichero operaciones.txt');
      halt(1)
   END;

   WHILE NOT EOF(ficheroOperaciones) DO
   BEGIN
      { Lee una linea del fichero y la almacena en tres variables}
      ReadLn(ficheroOperaciones, linea);
      operacion := linea[1];
      numero    := trim(copy(linea,3,12));  { trim elimina los espacios al comienzo y final de un string }
                                            { copy(s, i, j) copia j caracteres del string s }                                                         
				                      	    { a partir de la posicion i }
      operador  := trim(copy(linea,16,20)); 
      { Ahora podria realizarse alguna operacion con los elementos leidos }
      { en este caso mostrarlos por pantalla	                          }
      writeln(operacion, '++', operacion, '**', numero)
   END;
   Close(ficheroOperaciones);

END.
